import PowerUp from './PowerUp.js'

// 护盾道具类
export default class ShieldPowerUp extends PowerUp {
  constructor(x, y) {
    super(x, y, 'shield')
    this.duration = 5000 // 护盾持续5秒
    this.scaleDirection = 0.01 // 更明显的脉动效果
  }

  loadImage() {
    // 加载护盾道具图像
    this.image.src =
      ''
  }

  // 获取光晕颜色
  getGlowColor() {
    return `rgba(0, 170, 255, ${this.glowOpacity})`
  }

  apply(player, game) {
    super.apply(player, game)

    // 应用护盾效果
    player.hasShield = true

    // 设置护盾效果的持续时间
    if (player.shieldTimer) {
      clearTimeout(player.shieldTimer)
    }

    // 添加护盾状态到游戏状态
    game.addStatusEffect({
      type: 'shield',
      duration: this.duration,
      startTime: Date.now(),
    })

    // 显示提示信息
    game.showMessage('获得护盾！无敌状态！', 2000)

    // 设置定时器，在持续时间结束后移除护盾
    player.shieldTimer = setTimeout(() => {
      player.hasShield = false
      game.removeStatusEffect('shield')
      game.showMessage('护盾效果已结束', 1500)
    }, this.duration)
  }
}
